using System;
using System.Collections.Generic;
using System.Linq;

namespace DJY.Domain.ViewModel
{
    /// <summary>
    /// 工作流实例
    /// </summary>
    public class WorkFlowInstance
    {
        /// <summary>
        /// 开发模式
        /// </summary>
        public bool dev { get; set; }

        /// <summary>
        /// 实例ID
        /// </summary>
    	public string id
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 实例名称，比如（xxx请假申请）
        /// </summary>
    	public string name
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 分类ID
        /// </summary>
    	public int cateId
        {
            get;
            set;
        }

        /// <summary>
        /// 流程名称
        /// </summary>
    	public string cateName
        {
            get;
            set;
        }

        /// <summary>
        /// 流程ID
        /// </summary>
        public string wfid
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 流程版本
        /// </summary>
        public int version
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 新增时间
        /// </summary>
    	public string createTime
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 新增人
        /// </summary>
    	public string createUser
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 新增人名称
        /// </summary>
    	public string createUserName
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 是否发起者
        /// </summary>
    	public bool isOwner
        {
            get;
            set;
        }

        /// <summary>
        /// 最后修改时间
        /// </summary>
        public string lastUpdateTime
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 最后修改人
        /// </summary>
    	public string lastUpdateUser
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 最后修改人名称
        /// </summary>
    	public string lastUpdateUserName
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 备注
        /// </summary>
    	public string remark
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 最新节点ID，空标识流程完成
        /// </summary>
    	public string nodeId
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 流程定义
        /// </summary>
        public WorkFlowDef workFlowDef
        {
            get;
            set;
        }

        /// <summary>
        /// 已运行工作节点
        /// </summary>
        public List<WorkFlowInstanceNode> nodes
        {
            get;
            set;
        }

        /// <summary>
        /// 上一个节点ID
        /// </summary>
        public string flowNodeId { 
            get; 
            set; 
        }


        public WorkFlowNode node { 
            get; 
            set; 
        }

        /// <summary>
        /// 错误信息
        /// </summary>
        public string error {
            get;
            set;
        }

        public Dictionary<string,WorkFlowModelKey> modelKeys { 
            get; 
            set; 
        }
    }
}